<?php namespace Common\Model;
use Hdphp\Model\Model;
//分类模型
class Cate extends Model{
	//指定表名
    protected $table = "cate";
    // 自动验证
    protected $validate = array(
       array('cname','required','分类名称不能为空',3,3),
       array('csort','num:0,65535','排序范围0-65535',3,3),
    );


    // 自定义store方法
    public function store(){
           
        if($this->create()){

            $this->add();
             return true;
        }else{
            return false;
        }
    }

    // 模型类编辑方法
    public function edit(){
        // 执行自动验证
        if($this->create()){
            // 使用save方法不知道where条件  $_POST里面必须有主键
            // 如果$_POST里面没有主键  那就自己指定where条件
            $this->save();
            return true;
        }
        return false;
    }

     // 获得所有子集的CID
    public function getSon($data,$cid){
        $temp=array();
        foreach($data as $v){
            if($v['pid']==$cid){
                // 把子集的CID 压入到temp临时数组里
                $temp[]=$v['cid'];
                $temp=array_merge($temp,$this->getSon($data,$v['cid']));
            }
        }
        return $temp;
    }


    //获得除了自己和自己的子集，被分类控制器方法所调用
    public function getNoMy($cid){
        // 获得当前分类的子集的cid
        $cids=$this->getSon($this->get(),$cid);
        //把自己的cid压入
        $cids[]=$cid;
        //获得除了自己和自己的子集的数据
        $data=$this->where("cid NOT IN(".implode(',',$cids).")")->get();
        $data=Data::tree($data,'cname');
        return $data;

    }


    
}